package com.itheima.d3_udp2;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;

/*
     目标：完成UDP通信快速入门：实现多发多收。
 */
public class Client {
    public static void main(String[] args) throws Exception {
        // 1、创建客户端对象
        DatagramSocket datagramSocket = new DatagramSocket();
       /*
           2、创建数据包对象封装要发出去的数据（创建一个韭菜盘子）
           public DatagramPacket(byte buf[], int length, InetAddress address, int port)
           参数一：封装要发出去的数据。
           参数二：发送出去的数据大小（字节个数）
           参数三：服务端的IP地址（找到服务端主机）
           参数四：服务端程序的端口。
       */
        // byte[] bytes = "约吗?".getBytes();
        Scanner sc = new Scanner(System.in);

        while (true) {
            System.out.println("请输入你要发送的数据:");
            String s = sc.nextLine();

            // 如果键盘录入的是exit那么就停止发送数据
            if (s.equals("exit")) {
                //4、释放资源
                datagramSocket.close();
                break;
            }

            byte[] bytes = s.getBytes();
            // 数据包
            DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length, InetAddress.getLocalHost(), 10010);

            // 3、开始正式发送这个数据包的数据出去了
            datagramSocket.send(datagramPacket);
        }
    }
}
